package com.syx.commoncore.Model;

import com.syx.commoncore.enums.Resultcode;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;
@Data
public class TableDataInfoResult {
    /**
     * 总记录数,共有多少条数据
     */
    private long total;

    /**
     * 列表数据
     */
    private List<?> rows;

    /**
     * 消息状态码
     */
    private int code;

    /**
     * 消息内容
     */
    private String msg;

    /**
     * 表格数据对象
     */
    public TableDataInfoResult() {
    }

    //未查出任何数据时调用,即使查出来为空还得返回给前端
    public static TableDataInfoResult empty() {
        TableDataInfoResult rspData = new TableDataInfoResult();
        rspData.setCode(Resultcode.SUCCESS.getCode());
        rspData.setRows(new ArrayList<>());
        rspData.setMsg(Resultcode.SUCCESS.getMessage());
        rspData.setTotal(0);
        return rspData;
    }

    //查出数据时调用
    public static TableDataInfoResult success(List<?> list,long total) {
        TableDataInfoResult rspData = new TableDataInfoResult();
        rspData.setCode(Resultcode.SUCCESS.getCode());
        rspData.setRows(list);
        rspData.setMsg(Resultcode.SUCCESS.getMessage());
        rspData.setTotal(total);
        return rspData;
    }

    public static TableDataInfoResult error(String s) {
        TableDataInfoResult rspData = new TableDataInfoResult();
        rspData.setCode(Resultcode.ERROR.getCode());
        rspData.setMsg(s);
        return rspData;
    }
}
